<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SharedArrayBUffer易变内存</title>
    <script src="./main.js"></script>
</head>

<body>
    <div class="main">
        在两个并行线程中共享内存块有资源争用的风险。换句话说，SharedArrayBuffer 实例实
        际上会被当成易变（volatile）内存。下面的例子演示了这一点

        <p>这里，每个工作者线程都顺序执行了 100 万次加操作，每次都读取共享数组的索引、执行一次加操
            作，然后再把值写回数组索引。在所有工作者线程读/写操作交织的过程中就会发生资源争用。例如：
        </p>

        <ul>
            <li>
                (1) 线程 A 读取到值 1
            </li>
            <li>
                (2) 线程 B 读取到值 1；
            </li>
            <li>
                (3) 线程 A 加 1 并将 2 写回数组；

            </li>
            <li>
                (4) 线程 B 仍然使用陈旧的数组值 1，同样把 2 写回数组

            </li>
        </ul>
    </div>
</body>

</html>